/**
 * Project Name:my_project
 * File Name:PayUtils.java
 * Package Name:com.lvman.utils
 * Date:2014年10月21日下午2:30:30
 * Copyright (c) 2014.
 *
 */

package com.jams.goodox.utils.alipay;


import com.jams.goodox.constant.Constants;

/**
 * ClassName:PayUtils <br/>
 * Function: 支付相关帮助类 Date: 2014年10月21日 下午2:30:30 <br/>
 * 
 * @author Administrator
 * @version
 * @since JDK 1.6
 * @see
 */
public class PayUtils {
	public static String getOrderInfo(String subject, String body,
			String price, String orderCode) {
		String orderInfo = "partner=" + "\"" + Constants.PARTNER + "\"";
		orderInfo += "&";
		orderInfo += "seller_id=" + "\"" + Constants.SELLER + "\"";
		orderInfo += "&";
		orderInfo += "out_trade_no=" + "\"" + orderCode + "\"";
		orderInfo += "&";
		orderInfo += "subject=" + "\"" + subject + "\"";
		orderInfo += "&";
		orderInfo += "body=" + "\"" + body + "\"";
		orderInfo += "&";
		orderInfo += "total_fee=" + "\"" + price + "\"";
		orderInfo += "&";
		orderInfo += "notify_url=" + "\"" + Constants.NOTIFY_URL + "\"";

		// 接口名称， 定值
		orderInfo += "&service=\"mobile.securitypay.pay\"";

		// 支付类型，定值
		orderInfo += "&payment_type=\"1\"";

		// 字符集，默认utf-8
		orderInfo += "&_input_charset=\"utf-8\"";

		// 超时时间 ，默认30分钟.
		// 设置未付款交易的超时时间，一旦超时，该笔交易就会自动被关闭。
		// 取值范围：1m～15d。
		// m-分钟，h-小时，d-天，1c-当天（无论交易何时创建，都在0点关闭）。
		// 该参数数值不接受小数点，如1.5h，可转换为90m。
		// 该功能需要联系支付宝配置关闭时间。
		// orderInfo += "&it_b_pay=\"30m\"";

		// 商品展示网址,客户端可不加此参数
		// orderInfo += "&show_url=\"m.alipay.com\"";

		// verify(sign, orderInfo);

		return orderInfo;
	}

	/**
	 * sign the order info. 对订单信息进行签名
	 * 
	 *            签名方式
	 * @param content
	 *            待签名订单信息
	 * @return
	 */
	public static String sign(String content) {
		return Rsa.sign(content, Constants.RSA_PRIVATE);
	}

	/**
	 * get the sign type we use. 获取签名方式
	 * 
	 * @return
	 */
	public static String getSignType() {
		return "sign_type=\"RSA\"";
	}

}
